|
Die Business Process Execution Language (BPEL) ist der Standard zur
Modellierung und Ausfuehrung von Geschaeftsprozessen in Service
orientierten Architekturen. Service orientierte Architekturen sind
eine Basis fuer ein neues, fundamentales Geschaeftsmodell zum
Vertrieb von Software. Dieses neue Geschaeftsmodell nennt man
Software as a Service (SaaS). Ein so genannter SaaS-Provider
verkauft Dienstleistungen, die mit Hilfe seiner Software erbracht
werden und nicht nur seine Software. Der SaaS-Provider ist nicht nur
fuer die von ihm entwickelte Software sondern fuer das Bereitstellen
der kompletten Hardware und Software-Infrastruktur verantwortlich.
Der SaaS-Kunde nimmt nur einen Dienst in Anspruch (meistens ueber
das Internet) und bezahlt auch nur fuer die Nutzung dieses Dienstes.
Dinge wie fixe Hardwarekosten und Softwarelizenzen haben somit fuer
den Nutzer einer SaaS-Appliation keine Bedeutung, er bezahlt nur
fuer das, was er wirklich nutzt. Ein fundamentales Konzept fuer SaaS
ist die Anpassung von SaaS-Anwendungen an die Wuensche des Kunden.
Ein SaaS-Provider definiert so genannte Variability Points in der
Software, die ein Nutzer dann auf seine Wuensche anpassen kann.
In dieser Arbeit geht es darum, wie man solche Variability Points
fuer einen BPEL-Prozess beschreiben kann. Im konzeptionellen Teil
der Arbeit soll bestehend auf ersten Forschungsergebnissen am IAAS
ein Modell und eine auf XML-basierende Sprache entwickelt werden um
Variabilitaeten fuer BPEL und verwandte Artefakte (z.B. WSDL) zu
beschreiben. Darueber hinaus soll untersucht werden, wie aus den
Variabilitaeten automatisch Programme erzeugt werden koennen, die
den Benutzer bei der Anpassung eines Prozesses unterstuetzen. Als
zweiter, praktischer Schritt soll dann ein bestehender Open Source
BPEL und WSDL Editor so erweitert werden, dass das einfache
grafische Erzeugen von Variabilitaetsbeschreibungen moeglich wird.
Hierbei sollen auch Abhaengigkeiten zwischen Variability Points
grafisch (z.B. als Baum) dargestellt werden. Das Tool soll als
Eclipse-Plugin realisiert werden. Das Plugin sollte so modular
aufgebaut sein, dass in Zukunft weitere Editoren eingebunden werden
koennen.
|